home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 8 / The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO / g_quake / shockab.zip / PLAYER.QC < prev    next >
Text File  |  1996-10-09  |  22KB  |  679 lines

  1.  
  2. void() bubble_bob;
  3.  
  4. /*
  5. ==============================================================================
  6.  
  7. PLAYER
  8.  
  9. ==============================================================================
  10. */
  11.  
  12. $cd /raid/quake/id1/models/player_4
  13. $origin 0 -6 24
  14. $base base        
  15. $skin skin
  16.  
  17. //
  18. // running
  19. //
  20. $frame axrun1 axrun2 axrun3 axrun4 axrun5 axrun6
  21.  
  22. $frame rockrun1 rockrun2 rockrun3 rockrun4 rockrun5 rockrun6
  23.  
  24. //
  25. // standing
  26. //
  27. $frame stand1 stand2 stand3 stand4 stand5
  28.  
  29. $frame axstnd1 axstnd2 axstnd3 axstnd4 axstnd5 axstnd6
  30. $frame axstnd7 axstnd8 axstnd9 axstnd10 axstnd11 axstnd12
  31.  
  32.  
  33. //
  34. // pain
  35. //
  36. $frame axpain1 axpain2 axpain3 axpain4 axpain5 axpain6
  37.  
  38. $frame pain1 pain2 pain3 pain4 pain5 pain6
  39.  
  40.  
  41. //
  42. // death
  43. //
  44.  
  45. $frame axdeth1 axdeth2 axdeth3 axdeth4 axdeth5 axdeth6
  46. $frame axdeth7 axdeth8 axdeth9
  47.  
  48. $frame deatha1 deatha2 deatha3 deatha4 deatha5 deatha6 deatha7 deatha8
  49. $frame deatha9 deatha10 deatha11
  50.  
  51. $frame deathb1 deathb2 deathb3 deathb4 deathb5 deathb6 deathb7 deathb8
  52. $frame deathb9
  53.  
  54. $frame deathc1 deathc2 deathc3 deathc4 deathc5 deathc6 deathc7 deathc8
  55. $frame deathc9 deathc10 deathc11 deathc12 deathc13 deathc14 deathc15
  56.  
  57. $frame deathd1 deathd2 deathd3 deathd4 deathd5 deathd6 deathd7
  58. $frame deathd8 deathd9
  59.  
  60. $frame deathe1 deathe2 deathe3 deathe4 deathe5 deathe6 deathe7
  61. $frame deathe8 deathe9
  62.  
  63. //
  64. // attacks
  65. //
  66. $frame nailatt1 nailatt2
  67.  
  68. $frame light1 light2
  69.  
  70. $frame rockatt1 rockatt2 rockatt3 rockatt4 rockatt5 rockatt6
  71.  
  72. $frame shotatt1 shotatt2 shotatt3 shotatt4 shotatt5 shotatt6
  73.  
  74. $frame axatt1 axatt2 axatt3 axatt4 axatt5 axatt6
  75.  
  76. $frame axattb1 axattb2 axattb3 axattb4 axattb5 axattb6
  77.  
  78. $frame axattc1 axattc2 axattc3 axattc4 axattc5 axattc6
  79.  
  80. $frame axattd1 axattd2 axattd3 axattd4 axattd5 axattd6
  81.  
  82.  
  83. /*
  84. ==============================================================================
  85. PLAYER
  86. ==============================================================================
  87. */
  88.  
  89. void() player_run;
  90.  
  91. void()      player_stand1 =[  $axstnd1,   player_stand1     ]
  92. {
  93.     self.weaponframe=0;
  94.     if (self.velocity_x || self.velocity_y)
  95.     {
  96.         self.walkframe=0;
  97.         player_run();
  98.         return;
  99.     }
  100.  
  101.     if (self.weapon == IT_AXE)
  102.     {
  103.         if (self.walkframe >= 12)
  104.             self.walkframe = 0;
  105.         self.frame = $axstnd1 + self.walkframe;
  106.     }
  107.     else
  108.     {
  109.         if (self.walkframe >= 5)
  110.             self.walkframe = 0;
  111.         self.frame = $stand1 + self.walkframe;
  112.     }
  113.     self.walkframe = self.walkframe + 1;      
  114. };
  115.  
  116. void()      player_run =[     $rockrun1,  player_run  ]
  117. {
  118.     self.weaponframe=0;
  119.     if (!self.velocity_x && !self.velocity_y)
  120.     {
  121.         self.walkframe=0;
  122.         player_stand1();
  123.         return;
  124.     }
  125.  
  126.     if (self.weapon == IT_AXE)
  127.     {
  128.         if (self.walkframe == 6)
  129.             self.walkframe = 0;
  130.         self.frame = $axrun1 + self.walkframe;
  131.     }
  132.     else
  133.     {
  134.         if (self.walkframe == 6)
  135.             self.walkframe = 0;
  136.         self.frame = self.frame + self.walkframe;
  137.     }
  138.     self.walkframe = self.walkframe + 1;
  139. };
  140.  
  141.  
  142. void()      player_shot1 =    [$shotatt1, player_shot2      ] {self.weaponframe=1;
  143. self.effects = self.effects | EF_MUZZLEFLASH;};
  144. void()      player_shot2 =    [$shotatt2, player_shot3      ] {self.weaponframe=2;};
  145. void()      player_shot3 =    [$shotatt3, player_shot4      ] {self.weaponframe=3;};
  146. void()      player_shot4 =    [$shotatt4, player_shot5      ] {self.weaponframe=4;};
  147. void()      player_shot5 =    [$shotatt5, player_shot6      ] {self.weaponframe=5;};
  148. void()      player_shot6 =    [$shotatt6, player_run  ] {self.weaponframe=6;};
  149.  
  150. void()      player_axe1 =     [$axatt1, player_axe2   ] {self.weaponframe=1;};
  151. void()      player_axe2 =     [$axatt2, player_axe3   ] {self.weaponframe=2;};
  152. void()      player_axe3 =     [$axatt3, player_axe4   ] {self.weaponframe=3;W_FireAxe();};
  153. void()      player_axe4 =     [$axatt4, player_run    ] {self.weaponframe=4;};
  154.  
  155. void()      player_axeb1 =    [$axattb1, player_axeb2 ] {self.weaponframe=5;};
  156. void()      player_axeb2 =    [$axattb2, player_axeb3 ] {self.weaponframe=6;};
  157. void()      player_axeb3 =    [$axattb3, player_axeb4 ] {self.weaponframe=7;W_FireAxe();};
  158. void()      player_axeb4 =    [$axattb4, player_run   ] {self.weaponframe=8;};
  159.  
  160. void()      player_axec1 =    [$axattc1, player_axec2 ] {self.weaponframe=1;};
  161. void()      player_axec2 =    [$axattc2, player_axec3 ] {self.weaponframe=2;};
  162. void()      player_axec3 =    [$axattc3, player_axec4 ] {self.weaponframe=3;W_FireAxe();};
  163. void()      player_axec4 =    [$axattc4, player_run   ] {self.weaponframe=4;};
  164.  
  165. void()      player_axed1 =    [$axattd1, player_axed2 ] {self.weaponframe=5;};
  166. void()      player_axed2 =    [$axattd2, player_axed3 ] {self.weaponframe=6;};
  167. void()      player_axed3 =    [$axattd3, player_axed4 ] {self.weaponframe=7;W_FireAxe();};
  168. void()      player_axed4 =    [$axattd4, player_run   ] {self.weaponframe=8;};
  169.  
  170.  
  171. //============================================================================
  172.  
  173. void() player_nail1   =[$nailatt1, player_nail2  ] 
  174. {
  175.     self.effects = self.effects | EF_MUZZLEFLASH;
  176.  
  177.     if (!self.button0)
  178.         {player_run ();return;}
  179.     self.weaponframe = self.weaponframe + 1;
  180.     if (self.weaponframe == 9)
  181.         self.weaponframe = 1;
  182.     SuperDamageSound();
  183.     W_FireSpikes (4);
  184.     self.attack_finished = time + 0.2;
  185. };
  186. void() player_nail2   =[$nailatt2, player_nail1  ]
  187. {
  188.     self.effects = self.effects | EF_MUZZLEFLASH;
  189.  
  190.     if (!self.button0)
  191.         {player_run ();return;}
  192.     self.weaponframe = self.weaponframe + 1;
  193.     if (self.weaponframe == 9)
  194.         self.weaponframe = 1;
  195.     SuperDamageSound();
  196.     W_FireSpikes (-4);
  197.     self.attack_finished = time + 0.2;
  198. };
  199.  
  200. //============================================================================
  201.  
  202. void() player_light1   =[$light1, player_light2  ] 
  203. {
  204.     self.effects = self.effects | EF_MUZZLEFLASH;
  205.  
  206.     if (!self.button0)
  207.         {player_run ();return;}
  208.     self.weaponframe = self.weaponframe + 1;
  209.     if (self.weaponframe == 5)
  210.         self.weaponframe = 1;
  211.     SuperDamageSound();
  212.     W_FireLightning();
  213.     self.attack_finished = time + 0.2;
  214. };
  215. void() player_light2   =[$light2, player_light1  ]
  216. {
  217.     self.effects = self.effects | EF_MUZZLEFLASH;
  218.  
  219.     if (!self.button0)
  220.         {player_run ();return;}
  221.     self.weaponframe = self.weaponframe + 1;
  222.     if (self.weaponframe == 5)
  223.         self.weaponframe = 1;
  224.     SuperDamageSound();
  225.     W_FireLightning();
  226.     self.attack_finished = time + 0.2;
  227. };
  228.  
  229. //============================================================================
  230.  
  231.  
  232. void() player_rocket1   =[$rockatt1, player_rocket2  ] {self.weaponframe=1;
  233. self.effects = self.effects | EF_MUZZLEFLASH;};
  234. void() player_rocket2   =[$rockatt2, player_rocket3  ] {self.weaponframe=2;};
  235. void() player_rocket3   =[$rockatt3, player_rocket4  ] {self.weaponframe=3;};
  236. void() player_rocket4   =[$rockatt4, player_rocket5  ] {self.weaponframe=4;};
  237. void() player_rocket5   =[$rockatt5, player_rocket6  ] {self.weaponframe=5;};
  238. void() player_rocket6   =[$rockatt6, player_run  ] {self.weaponframe=6;};
  239. void(float num_bubbles) DeathBubbles;
  240.  
  241. void() PainSound =
  242. {
  243. local float       rs;
  244.  
  245.     if (self.health < 0)
  246.         return;
  247.  
  248.     if (damage_attacker.classname == "teledeath")
  249.     {
  250.         sound (self, CHAN_VOICE, "player/teledth1.wav", 1, ATTN_NONE);
  251.         return;
  252.     }
  253.  
  254. // water pain sounds
  255.     if (self.watertype == CONTENT_WATER && self.waterlevel == 3)
  256.     {
  257.         DeathBubbles(1);
  258.         if (random() > 0.5)
  259.             sound (self, CHAN_VOICE, "player/drown1.wav", 1, ATTN_NORM);
  260.         else
  261.             sound (self, CHAN_VOICE, "player/drown2.wav", 1, ATTN_NORM);
  262.         return;
  263.     }
  264.  
  265. // slime pain sounds
  266.     if (self.watertype == CONTENT_SLIME)
  267.     {
  268. // FIX ME   put in some steam here
  269.         if (random() > 0.5)
  270.             sound (self, CHAN_VOICE, "player/lburn1.wav", 1, ATTN_NORM);
  271.         else
  272.             sound (self, CHAN_VOICE, "player/lburn2.wav", 1, ATTN_NORM);
  273.         return;
  274.     }
  275.  
  276.     if (self.watertype == CONTENT_LAVA)
  277.     {
  278.         if (random() > 0.5)
  279.             sound (self, CHAN_VOICE, "player/lburn1.wav", 1, ATTN_NORM);
  280.         else
  281.             sound (self, CHAN_VOICE, "player/lburn2.wav", 1, ATTN_NORM);
  282.         return;
  283.     }
  284.  
  285.     if (self.pain_finished > time)
  286.     {
  287.         self.axhitme = 0;
  288.         return;
  289.     }
  290.     self.pain_finished = time + 0.5;
  291.  
  292. // don't make multiple pain sounds right after each other
  293.  
  294. // ax pain sound
  295.     if (self.axhitme == 1)
  296.     {
  297.         self.axhitme = 0;
  298.         sound (self, CHAN_VOICE, "player/axhit1.wav", 1, ATTN_NORM);
  299.         return;
  300.     }
  301.     
  302.  
  303.     rs = rint((random() * 5) + 1);
  304.  
  305.     self.noise = "";
  306.     if (rs == 1)
  307.         self.noise = "player/pain1.wav";
  308.     else if (rs == 2)
  309.         self.noise = "player/pain2.wav";
  310.     else if (rs == 3)
  311.         self.noise = "player/pain3.wav";
  312.     else if (rs == 4)
  313.         self.noise = "player/pain4.wav";
  314.     else if (rs == 5)
  315.         self.noise = "player/pain5.wav";
  316.     else
  317.         self.noise = "player/pain6.wav";
  318.  
  319.     sound (self, CHAN_VOICE, self.noise, 1, ATTN_NORM);
  320.     return;
  321. };
  322.  
  323. void()      player_pain1 =    [     $pain1,     player_pain2      ] {PainSound();self.weaponframe=0;};
  324. void()      player_pain2 =    [     $pain2,     player_pain3      ] {};
  325. void()      player_pain3 =    [     $pain3,     player_pain4      ] {};
  326. void()      player_pain4 =    [     $pain4,     player_pain5      ] {};
  327. void()      player_pain5 =    [     $pain5,     player_pain6      ] {};
  328. void()      player_pain6 =    [     $pain6,     player_run  ] {};
  329.  
  330. void()      player_axpain1 =  [     $axpain1,   player_axpain2    ] {PainSound();self.weaponframe=0;};
  331. void()      player_axpain2 =  [     $axpain2,   player_axpain3    ] {};
  332. void()      player_axpain3 =  [     $axpain3,   player_axpain4    ] {};
  333. void()      player_axpain4 =  [     $axpain4,   player_axpain5    ] {};
  334. void()      player_axpain5 =  [     $axpain5,   player_axpain6    ] {};
  335. void()      player_axpain6 =  [     $axpain6,   player_run  ] {};
  336.  
  337. void() player_pain =
  338. {
  339.     if (self.weaponframe)
  340.         return;
  341.  
  342.     if (self.invisible_finished > time)
  343.         return;           // eyes don't have pain frames
  344.  
  345.     if (self.weapon == IT_AXE)
  346.         player_axpain1 ();
  347.     else
  348.         player_pain1 ();
  349. };
  350.  
  351. void() player_diea1;
  352. void() player_dieb1;
  353. void() player_diec1;
  354. void() player_died1;
  355. void() player_diee1;
  356. void() player_die_ax1;
  357.  
  358. void() DeathBubblesSpawn =
  359. {
  360. local entity      bubble;
  361.     if (self.owner.waterlevel != 3)
  362.         return;
  363.     bubble = spawn();
  364.     setmodel (bubble, "progs/s_bubble.spr");
  365.     setorigin (bubble, self.owner.origin + '0 0 24');
  366.     bubble.movetype = MOVETYPE_NOCLIP;
  367.     bubble.solid = SOLID_NOT;
  368.     bubble.velocity = '0 0 15';
  369.     bubble.nextthink = time + 0.5;
  370.     bubble.think = bubble_bob;
  371.     bubble.classname = "bubble";
  372.     bubble.frame = 0;
  373.     bubble.cnt = 0;
  374.     setsize (bubble, '-8 -8 -8', '8 8 8');
  375.     self.nextthink = time + 0.1;
  376.     self.think = DeathBubblesSpawn;
  377.     self.air_finished = self.air_finished + 1;
  378.     if (self.air_finished >= self.bubble_count)
  379.         remove(self);
  380. };
  381.  
  382. void(float num_bubbles) DeathBubbles =
  383. {
  384. local entity      bubble_spawner;
  385.     
  386.     bubble_spawner = spawn();
  387.     setorigin (bubble_spawner, self.origin);
  388.     bubble_spawner.movetype = MOVETYPE_NONE;
  389.     bubble_spawner.solid = SOLID_NOT;
  390.     bubble_spawner.nextthink = time + 0.1;
  391.     bubble_spawner.think = DeathBubblesSpawn;
  392.     bubble_spawner.air_finished = 0;
  393.     bubble_spawner.owner = self;
  394.     bubble_spawner.bubble_count = num_bubbles;
  395.     return;
  396. };
  397.  
  398.  
  399. void() DeathSound =
  400. {
  401. local float       rs;
  402.  
  403.     // water death sounds
  404.     if (self.waterlevel == 3)
  405.     {
  406.         DeathBubbles(20);
  407.         sound (self, CHAN_VOICE, "player/h2odeath.wav", 1, ATTN_NONE);
  408.         return;
  409.     }
  410.     
  411.     rs = rint ((random() * 4) + 1);
  412.     if (rs == 1)
  413.         self.noise = "player/death1.wav";
  414.     if (rs == 2)
  415.         self.noise = "player/death2.wav";
  416.     if (rs == 3)
  417.         self.noise = "player/death3.wav";
  418.     if (rs == 4)
  419.         self.noise = "player/death4.wav";
  420.     if (rs == 5)
  421.         self.noise = "player/death5.wav";
  422.  
  423.     sound (self, CHAN_VOICE, self.noise, 1, ATTN_NONE);
  424.     return;
  425. };
  426.  
  427.  
  428. void() PlayerDead =
  429. {
  430.     self.nextthink = -1;
  431. // allow respawn after a certain time
  432.     self.deadflag = DEAD_DEAD;
  433. };
  434.  
  435. vector(float dm) VelocityForDamage =
  436. {
  437.     local vector v;
  438.  
  439.     v_x = 100 * crandom();
  440.     v_y = 100 * crandom();
  441.     v_z = 200 + 100 * random();
  442.  
  443.     if (dm > -50)
  444.     {
  445. //          dprint ("level 1\n");
  446.         v = v * 0.7;
  447.     }
  448.     else if (dm > -200)
  449.     {
  450. //          dprint ("level 3\n");
  451.         v = v * 2;
  452.     }
  453.     else
  454.         v = v * 10;
  455.  
  456.     return v;
  457. };
  458.  
  459. void(string gibname, float dm) ThrowGib =
  460. {
  461.     local entity new;
  462.  
  463.     new = spawn();
  464.     new.origin = self.origin;
  465.     setmodel (new, gibname);
  466.     setsize (new, '0 0 0', '0 0 0');
  467.     new.velocity = VelocityForDamage (dm);
  468.     new.movetype = MOVETYPE_BOUNCE;
  469.     new.solid = SOLID_NOT;
  470.     new.avelocity_x = random()*600;
  471.     new.avelocity_y = random()*600;
  472.     new.avelocity_z = random()*600;
  473.     new.think = SUB_Remove;
  474.     new.ltime = time;
  475.     new.nextthink = time + 10 + random()*10;
  476.     new.frame = 0;
  477.     new.flags = 0;
  478. };
  479.  
  480. void(string gibname, float dm) ThrowHead =
  481. {
  482.     setmodel (self, gibname);
  483.     self.frame = 0;
  484.     self.nextthink = -1;
  485.     self.movetype = MOVETYPE_BOUNCE;
  486.     self.takedamage = DAMAGE_NO;
  487.     self.solid = SOLID_SLIDEBOX;
  488.     self.view_ofs = '0 0 8';
  489.     setsize (self, '-8 -8 -4', '8 8 12');
  490.     self.velocity = VelocityForDamage (dm);
  491.     self.origin_z = self.origin_z - 24;
  492.     self.flags = self.flags - (self.flags & FL_ONGROUND);
  493.     self.avelocity = crandom() * '0 600 0';
  494.     self.classname = "gibbed_head";
  495. };
  496.  
  497.  
  498. void() GibPlayer =
  499. {
  500.     ThrowHead ("progs/h_player.mdl", self.health);
  501.     ThrowGib ("progs/gib1.mdl", self.health);
  502.     ThrowGib ("progs/gib2.mdl", self.health);
  503.     ThrowGib ("progs/gib3.mdl", self.health);
  504.  
  505.     self.deadflag = DEAD_DEAD;
  506.  
  507.     if (damage_attacker.classname == "teledeath")
  508.     {
  509.         sound (self, CHAN_VOICE, "player/teledth1.wav", 1, ATTN_NONE);
  510.         return;
  511.     }
  512.  
  513.     if (damage_attacker.classname == "teledeath2")
  514.     {
  515.         sound (self, CHAN_VOICE, "player/teledth1.wav", 1, ATTN_NONE);
  516.         return;
  517.     }
  518.         
  519.     if (random() < 0.5)
  520.         sound (self, CHAN_VOICE, "player/gib.wav", 1, ATTN_NONE);
  521.     else
  522.         sound (self, CHAN_VOICE, "player/udeath.wav", 1, ATTN_NONE);
  523. };
  524.  
  525. void() PlayerDie =
  526. {
  527.     local float i;
  528.     
  529.     self.items = self.items - (self.items & IT_INVISIBILITY);
  530.     self.invisible_finished = 0;  // don't die as eyes
  531.     self.invincible_finished = 0;
  532.     self.super_damage_finished = 0;
  533.     self.radsuit_finished = 0;
  534.     self.modelindex = modelindex_player;      // don't use eyes
  535.  
  536.     if (deathmatch || coop)
  537.         DropBackpack();
  538.     
  539.     self.weaponmodel="";
  540.     self.view_ofs = '0 0 -8';
  541.     self.deadflag = DEAD_DYING;
  542.     self.solid = SOLID_NOT;
  543.     self.flags = self.flags - (self.flags & FL_ONGROUND);
  544.     self.movetype = MOVETYPE_TOSS;
  545.     if (self.velocity_z < 10)
  546.         self.velocity_z = self.velocity_z + random()*300;
  547.  
  548.     if (self.health < -40)
  549.     {
  550.         GibPlayer ();
  551.         return;
  552.     }
  553.  
  554.     DeathSound();
  555.     
  556.     self.angles_x = 0;
  557.     self.angles_z = 0;
  558.     
  559.     if (self.weapon == IT_AXE)
  560.     {
  561.         player_die_ax1 ();
  562.         return;
  563.     }
  564.     
  565.     i = cvar("temp1");
  566.     if (!i)
  567.         i = 1 + floor(random()*6);
  568.     
  569.     if (i == 1)
  570.         player_diea1();
  571.     else if (i == 2)
  572.         player_dieb1();
  573.     else if (i == 3)
  574.         player_diec1();
  575.     else if (i == 4)
  576.         player_died1();
  577.     else
  578.         player_diee1();
  579.  
  580. };
  581.  
  582. void() set_suicide_frame =
  583. {     // used by klill command and diconnect command
  584.     if (self.model != "progs/player.mdl")
  585.         return;     // allready gibbed
  586.     self.frame = $deatha11;
  587.     self.solid = SOLID_NOT;
  588.     self.movetype = MOVETYPE_TOSS;
  589.     self.deadflag = DEAD_DEAD;
  590.     self.nextthink = -1;
  591. };
  592.  
  593.  
  594. void()      player_fly1      =     [     $deatha1,   player_fly2      ] {};
  595. void()      player_fly2      =     [     $deatha2,   player_fly3      ] {};
  596. void()      player_fly3      =     [     $deatha3,   player_fly4      ] {};
  597. void()      player_fly4      =     [     $deatha4,   player_fly5      ] {};
  598. void()      player_fly5      =     [     $deatha5,   player_fly6      ] {};
  599. void()      player_fly6      =     [     $deatha6,   player_fly7      ] {};
  600. void()      player_fly7      =     [     $deatha7,   player_fly8      ] {};
  601. void()      player_fly8      =     [     $deatha8,   player_fly9      ] {};
  602. void()      player_fly9      =     [     $deatha9,   player_fly10     ] {};
  603. void()      player_fly10     =     [     $deatha10,  player_fly11     ] {};
  604. void()      player_fly11     =     [     $deatha11,  player_fly12     ] {self.nextthink = time + 0.2;};
  605. void()      player_fly12     =     [     $deatha10,  player_fly13     ] {};
  606. void()      player_fly13     =     [     $deatha8 ,  player_fly14     ] {};
  607. void()      player_fly14     =     [     $deatha6 ,  player_fly15     ] {};
  608. void()      player_fly15     =     [     $deatha4 ,  player_fly16     ] {};
  609. void()      player_fly16     =     [     $deatha2 ,  player_fly17     ] {};
  610. void()      player_fly17     =     [     $deatha1 ,  player_run       ] {};
  611.  
  612. void()      player_diea1      =     [     $deatha1,   player_diea2      ] {};
  613. void()      player_diea2      =     [     $deatha2,   player_diea3      ] {};
  614. void()      player_diea3      =     [     $deatha3,   player_diea4      ] {};
  615. void()      player_diea4      =     [     $deatha4,   player_diea5      ] {};
  616. void()      player_diea5      =     [     $deatha5,   player_diea6      ] {};
  617. void()      player_diea6      =     [     $deatha6,   player_diea7      ] {};
  618. void()      player_diea7      =     [     $deatha7,   player_diea8      ] {};
  619. void()      player_diea8      =     [     $deatha8,   player_diea9      ] {};
  620. void()      player_diea9      =     [     $deatha9,   player_diea10     ] {};
  621. void()      player_diea10     =     [     $deatha10,  player_diea11     ] {};
  622. void()      player_diea11     =     [     $deatha11,  player_diea11 ] {PlayerDead();};
  623.  
  624. void()      player_dieb1      =     [     $deathb1,   player_dieb2      ] {};
  625. void()      player_dieb2      =     [     $deathb2,   player_dieb3      ] {};
  626. void()      player_dieb3      =     [     $deathb3,   player_dieb4      ] {};
  627. void()      player_dieb4      =     [     $deathb4,   player_dieb5      ] {};
  628. void()      player_dieb5      =     [     $deathb5,   player_dieb6      ] {};
  629. void()      player_dieb6      =     [     $deathb6,   player_dieb7      ] {};
  630. void()      player_dieb7      =     [     $deathb7,   player_dieb8      ] {};
  631. void()      player_dieb8      =     [     $deathb8,   player_dieb9      ] {};
  632. void()      player_dieb9      =     [     $deathb9,   player_dieb9      ] {PlayerDead();};
  633.  
  634. void()      player_diec1      =     [     $deathc1,   player_diec2      ] {};
  635. void()      player_diec2      =     [     $deathc2,   player_diec3      ] {};
  636. void()      player_diec3      =     [     $deathc3,   player_diec4      ] {};
  637. void()      player_diec4      =     [     $deathc4,   player_diec5      ] {};
  638. void()      player_diec5      =     [     $deathc5,   player_diec6      ] {};
  639. void()      player_diec6      =     [     $deathc6,   player_diec7      ] {};
  640. void()      player_diec7      =     [     $deathc7,   player_diec8      ] {};
  641. void()      player_diec8      =     [     $deathc8,   player_diec9      ] {};
  642. void()      player_diec9      =     [     $deathc9,   player_diec10     ] {};
  643. void()      player_diec10     =     [     $deathc10,  player_diec11     ] {};
  644. void()      player_diec11     =     [     $deathc11,  player_diec12     ] {};
  645. void()      player_diec12     =     [     $deathc12,  player_diec13     ] {};
  646. void()      player_diec13     =     [     $deathc13,  player_diec14     ] {};
  647. void()      player_diec14     =     [     $deathc14,  player_diec15     ] {};
  648. void()      player_diec15     =     [     $deathc15,  player_diec15 ] {PlayerDead();};
  649.  
  650. void()      player_died1      =     [     $deathd1,   player_died2      ] {};
  651. void()      player_died2      =     [     $deathd2,   player_died3      ] {};
  652. void()      player_died3      =     [     $deathd3,   player_died4      ] {};
  653. void()      player_died4      =     [     $deathd4,   player_died5      ] {};
  654. void()      player_died5      =     [     $deathd5,   player_died6      ] {};
  655. void()      player_died6      =     [     $deathd6,   player_died7      ] {};
  656. void()      player_died7      =     [     $deathd7,   player_died8      ] {};
  657. void()      player_died8      =     [     $deathd8,   player_died9      ] {};
  658. void()      player_died9      =     [     $deathd9,   player_died9      ] {PlayerDead();};
  659.  
  660. void()      player_diee1      =     [     $deathe1,   player_diee2      ] {};
  661. void()      player_diee2      =     [     $deathe2,   player_diee3      ] {};
  662. void()      player_diee3      =     [     $deathe3,   player_diee4      ] {};
  663. void()      player_diee4      =     [     $deathe4,   player_diee5      ] {};
  664. void()      player_diee5      =     [     $deathe5,   player_diee6      ] {};
  665. void()      player_diee6      =     [     $deathe6,   player_diee7      ] {};
  666. void()      player_diee7      =     [     $deathe7,   player_diee8      ] {};
  667. void()      player_diee8      =     [     $deathe8,   player_diee9      ] {};
  668. void()      player_diee9      =     [     $deathe9,   player_diee9      ] {PlayerDead();};
  669.  
  670. void()      player_die_ax1    =     [     $axdeth1,   player_die_ax2    ] {};
  671. void()      player_die_ax2    =     [     $axdeth2,   player_die_ax3    ] {};
  672. void()      player_die_ax3    =     [     $axdeth3,   player_die_ax4    ] {};
  673. void()      player_die_ax4    =     [     $axdeth4,   player_die_ax5    ] {};
  674. void()      player_die_ax5    =     [     $axdeth5,   player_die_ax6    ] {};
  675. void()      player_die_ax6    =     [     $axdeth6,   player_die_ax7    ] {};
  676. void()      player_die_ax7    =     [     $axdeth7,   player_die_ax8    ] {};
  677. void()      player_die_ax8    =     [     $axdeth8,   player_die_ax9    ] {};
  678. void()      player_die_ax9    =     [     $axdeth9,   player_die_ax9    ] {PlayerDead();};
  679.